PSA Object Model Diagrams

ScheduleService

global with sharing class ScheduleService

a service that provides functionality relating to schedules. to understand schedules, call this service rather than query Schedule and ScheduleException separately and interpret the results. To make simple updates to existing schedules, call this service rather than use DML on Schedule and ScheduleException separately.

Methods

getScheduledHoursForDates

global static Map<Id, ScheduleService.HoursDetail> getScheduledHoursForDates(Set<Id> scheduleIds, Date startDate, Date endDate)

This method does all the logic of looking at the specified schedules and their schedule exceptions and working out how many hours the resources are scheduled to work on specific dates.

Input Parameters

Name Type Description
scheduleIds Set<Id> The schedules to be queried.
startDate Date The start of the period you are requesting data for.
endDate Date The end of the period you are requesting data for.

Return Value

A map keyed on Schedule Id. The values detail the scheduled hours after schedule exceptions have been considered.

Sample Code

//Note: This sample code is for demonstration purposes only. It is not intended for
//use in a production environment, is not guaranteed against defects or errors, and
//is in no way optimized or streamlined.

You need to provide some sample code

updateSchedules

global static List<ScheduleService.UpdateScheduleResponse> updateSchedules(List<ScheduleService.UpdateScheduleRequest> requests)

Amends the specified schedules and their schedule exceptions to change specific dates to the hours indicated in the request. If you want to make extensive changes to the schedule, such as changing the pattern for the whole scheduled period or altering the end date, we recommend that you use the SchedulingStrategyService API. The return value contains one response for each request and indicates if the request was valid. For example, a request is invalid if you attempt to change a date outside the range of the schedule. Any DML errors are thrown as exceptions.

Sample Code

//Note: This sample code is for demonstration purposes only. It is not intended for
//use in a production environment, is not guaranteed against defects or errors, and
//is in no way optimized or streamlined.

You need to provide some sample code

ScheduleService.HoursDetail

global class HoursDetail

Properties

Name Type Description
dateToHours Map<Date, Decimal> indicates how many hours are scheduled for each date in the range. The dates included in the map are the intersection of the scheduled period and the dates passed in the call to getScheduledHoursForDates.
scheduleStart Date the start date of the schedule.
scheduleEnd Date the end date of the schedule.

ScheduleService.UpdateScheduleRequest

global class UpdateScheduleRequest

use instances of this object with updateschedules to edit schedules.

Properties

Name Type Description
ScheduleId Id the id of the schedule to be amended.
Hours Map<Date, Decimal> the keys are the dates to be amended, and the values are the new scheduled hours for each date. Only scheduled hours for dates included in this map are amended, scheduled hours for other dates are unchanged.

ScheduleService.UpdateScheduleResponse

global class UpdateScheduleResponse

response object returned from updateschedules. Use the ScheduleId to match it to a request.

Properties

Name Type Description
ScheduleId Id the id of the updated schedule.
Success Boolean false if the request was invalid. true otherwise. invalid requests will not be processed.
Errors List<String> Any validation errors with the request will be stored here.
© Copyright 2009–2021 FinancialForce.com, inc. Confidential – all rights reserved. Various trademarks held by their respective owners.